package com.settlement.system.common.enums;

/**
 * RR-NC凭证明细 单据分类(1:账单汇总、2:费用分摊)
 * @author author
 */
public enum NcDocumentTypeEnum implements Code<String> {
    /**
     * 账单汇总
     */
    BILL_SUMMARY_1("1","账单汇总"),
    /**
     * 费用分摊
     */
    COST_SHARE_2("2","费用分摊");


    private String no;

    private String name;

    NcDocumentTypeEnum(String no, String name) {
        this.no = no;
        this.name = name;
    }


    public String getNo() {
        return no;
    }

    public String getName() {
        return name;
    }

    /**
     * 根据名称获取编码
     * @param name
     * @return
     */
    public static String getNoByName(String name) {
        NcDocumentTypeEnum[] enums = NcDocumentTypeEnum.values();
        for (int index = 0; index < enums.length; index++) {
            if(enums[index].getName().equals(name)){
                return enums[index].getNo();
            }
        }
        return name;
    }

    /**
     * 根据编码获取名称
     * @param no
     * @return
     */
    public static String getNameByNo(String no) {
        NcDocumentTypeEnum[] enums = values();
        for (int index = 0; index < enums.length; index++) {
            if (enums[index].getNo().equals(no)) {
                return enums[index].getName();
            }
        }
        return null;
    }

    @Override
    public String code() {
        return no;
    }
}
